

const initState = {
  /**
   * @param { address } String 地址
   * @param { desc } String 描述
   * @param { id } String id
   * @param { image } String[] 图片列表
   * @param { title } String 标题
   * @param { price } String 单价
   * @param { sell } String 销售量
   * @param { score } String 评分
   * @param { count } String 购买数量
   * @param { state } String 选中状态
  */
  cartList: []
}

export const cartReducer = (state = initState, action) => {
  const { type, payload } = action

  switch (type) {
    case 'addCar':
      const newcartList = [...state.cartList];
      const item = newcartList.find(v => v.id === payload.id);
      if (item) {
        item.count++
      } else {
        newcartList.push(payload)
      }
      return {
        ...state,
        cartList: newcartList
      }
    case 'subCar': {
      const newcartList = [...state.cartList];
      const item = newcartList.find(v => v.id === payload.id);
      if (item) {
        item.count--
      } else {
        newcartList.push(payload)
      }
      return {
        ...state,
        cartList: newcartList
      }
    }
    default: return state
  }

  // 加入购物车
  // 全选反选
  // 总价计算
  // 数量加减
  // 删除
}